This invention relates to systems having a data bus, and, more particularly, to computer systems having a common bus that must be properly terminated in order for the bus to function correctly.
One well-known computer system architecture includes a common bus that communicates data among the processor of the computer, other portions of the computer, and peripheral devices. The bus style of communication permits information to be shared by many parts of the system, but decoded and used by only those parts requiring it for particular applications. Bus architectures are widely used in desktop, portable, and palmtop small computers employing the small computer systems interface (SCSI) standard.
It is important that the bus be properly terminated. That is, the ends of the bus must present the proper apparent voltage and resistance conditions to signals transmitted on the bus. In the absence of the proper termination, data transfers on the bus may be unreliable and/or slow.
The devices plugged into the bus typically have built-in termination circuitry. These terminations must be correctly configured by the user of the computer system in order to avoid later problems in data transmission on the bus. In some cases, the user does not know how to configure the built-in termination, inadvertently changes the configuration, is not aware that a reconfiguration must be made after system hardware changes, or otherwise fails to achieve the proper termination. The result is an inefficient operation of the bus, which may not be apparent to the computer user or may be apparent only as a persistent "bug". Identifying situations of improper termination can be difficult, partlcularly for computer users not experienced in solving computer hardware problems.
It has been proposed that the computer itself could test the bus for proper termination and notify the user of the absence of a proper termination. Circuitry for this purpose has been designed. However, the circuitry and procedures suggested to date have shortcomings when used in some applications. Specifically, the termination test circuitry may itself place a significant current drain on the system, which is a serious problem for small, battery-powered computers of the palmtop type. The termination test circuitry may also interfere with the operation of the bus by introducing a series resistance into the bus.
Accordingly, there remains a need for an automated termination test capability for systems using a bus architecture. The present invention fulfills this need, and further provides related advantages.